1.4. Reference models
1.4.1. The OSI Reference Model
The OSI model is based on a proposal develop by ISO as a first step toward international standardization of the protocols used in the various layers. The model is called ISO OSI (Open Systems Interconnection) Reference Model.
Open system is a system open for communication with other systems.
The OSI model has 7 layers (Fig. 1-16). The principles that were applied to arrive at the seven layers are as follows:
Fig. 1-16. The OSI reference model.
The OSI model is not a network architecture - it does not specify the exact
services and protocols. It just tells what each layer should do. However,
ISO has also produced standards for all the layers as a separate
international standards.
1.4.2. The Physical Layer
The main task of the physical layer is to transmit raw bits over a communication channel.
Typical questions here are:
The design issues deal with mechanical, electrical, and procedural interfaces, and the physical transmission medium, which lies below the physical layer.
The user of the physical layer may be sure that the given stream of
bits was encoded and transmitted. He cannot be sure that the data came
to the destination without error. This issue is solved in higher layers.
1.4.3. The Data Link Layer
The main task of the data link layer is to take a raw transmission facility and transform it into a line that appears free of undetected transmission errors to the network layer. To accomplish this, the sender breaks the input data into data frames (typically a few hundred or a few thousand bytes), transmits the frames sequentially, and processes the acknowledgment frames sent back by the receiver.
The issues that the layer has to solve:
Broadcast networks have an additional issue in the data link layer: how to control access to the shared channel. A special sublayer of the data link layer (medium access sublayer) deals with the problem.
The user of the data link layer may be sure that his data were delivered
without errors to the neighbor node. However, the layer is able to
deliver the data just to the neighbor node.
1.4.4. The Network Layer
The main task of the network layer is to determine how data can be delivered from source to destination. That is, the network layer is concerned with controlling the operation of the subnet.
The issues that the layer has to solve:
In broadcast networks, the routing problem is simple, so the network layer is often thin or even nonexistent.
The user of the network layer may be sure that his packet was
delivered to the given destination. However, the delivery of
the packets needs not to be in the order in which they were transmitted.
1.4.5. The Transport Layer
The basic function of the transport layer is to accept data from the session layer, split it up into smaller units if need be, pass them to the network layer, and ensure that the pieces all arrive correctly at the other end. All this must be done in a way that isolates the upper layers from the inevitable changes in the hardware technology.
The issues that the transport layer has to solve:
The transport layer is a true end-to-end layer, from source to destination. In other words, a program on the source machine carries on a conversation with a similar program on the destination machine. In lower layers, the protocols are between each machine and its immediate neighbors.
The user of the transport layer may be sure that his
message will be delivered to the destination regardless of
the state of the network. He need not worry about the technical
features of the network.
1.4.6. The Session Layer
The session layer allows users on different machines to establish sessions between them. A session allows ordinary data transport, as does the transport layer, but it also provides enhanced services useful in some applications.
Some of these services are:
The user of the session layer is in similar position as the user of
the transport layer but having larger possibilities.
1.4.7. The Presentation Layer
The presentation layer perform certain functions that are requested sufficiently often to warrant finding a general solution for them, rather than letting each user solve the problem. This layer is, unlike all the lower layers, concerned with the syntax and semantics of the information transmitted.
A typical example of a presentation service is encoding data in a standard
agreed upon way. Different computers may use different ways of internal
coding of characters or numbers. In order to make it possible for computers
with different representations to communicate, the data structures to be
exchanged can be defined in an abstract way, along with a standard
encoding to be used "on the wire". The presentation layer manages these
abstract data structures and converts from the representation used inside
the computer to the network standard representation and back.
1.4.8. The Application Layer
The application layer contains a variety of protocols that are commonly needed.
For example, there are hundreds of incompatible terminal types in the world. If they have to be used for a work with a full screen editor, many problems arise from their incompatibility. One way to solve this problem is to define network virtual terminal and write editor for this terminal. To handle each terminal type, a piece of software must be written to map the functions of the network virtual terminal onto the real terminal. All the virtual terminal software is in the application layer.
Another application layer function is file transfer. It must handle
different incompatibilities between file systems on different
computers. Further facilities of the application layer are electronic
mail, remote job entry, directory lookup ant others.
1.4.9. Data Transmission in the OSI Model
Figure 1-17 shows an example how data can be transmitted using OSI model.
Fig. 1-17. An example of how the OSI model is used. Some of the headers
may be null. (Source H.C. Folts. Used with permission.)
The key idea throughout is that although actual data transmission is
vertical in Fig. 1-17, each layer is programmed as though it were
horizontal. When the sending transport layer, for example, gets a
message from the session layer, it attaches a transport header and sends
it to the receiving transport layer. From its point of view, the fact that
it must actually hand the message to the network layer on its own message
is an unimportant technicality.
1.4.10. The TCP/IP Reference Model
TCP/IP reference model originates from the grandparent of all computer networks, the ARPANET and now is used in its successor, the worldwide Internet.
The name TCP/IP of the reference model is derived from two primary
protocols of the corresponding network architecture.
1.4.11. The Internet Layer
The internet layer is the linchpin of the whole architecture. It is a connectionless internetwork layer forming a base for a packet-switching network. Its job is to permit hosts to inject packets into any network and have them travel independently to the destination. It works in analogy with the (snail) mail system. A person can drop a sequence of international letters into a mail box in one country, and with a little luck, most of them will be delivered to the correct address in the destination country.
The internet layer defines an official packet format and protocol called IP (Internet Protocol). The job of the internet layer is to deliver IP packets where they are supposed to go. TCP/IP internet layer is very similar in functionality to the OSI network layer (Fig. 1-18).
Fig. 1-18. The TCP/IP reference model.
The layer above the internet layer in the TCP/IP model is now usually called transport layer. It is designed to allow peer entities on the source and destination hosts to carry on a conversation, the same as in the OSI transport layer. Two end-to-end protocols have been defined here:
The application layer is on the top of the transport layer. It contains all the higher level protocols. Some of them are:
Bellow the internet layer there is a great void. The TCP/IP reference model
does not really say much about what happens here, except to point out that
the host has to connect to the network using some protocol so it can send
IP packet over it. This protocol is not defined and varies from host to
host and network to network.
1.4.15. The ARPANET Story
The ARPANET is the grandparent of all computer networks, the Internet is its successor. The milestones of the ARPANET:
Fig. 1-24. The original ARPANET design.
Fig. 1-25. Growth of the ARPANET. (a) Dec. 1969. (b) July 1970.
(C) March 1971. (d) April 1972. (e) Sept. 1972.
The OSI and the TCP/IP reference models have much in common:
The two models also have many differences (in addition to different protocols).
Probably the biggest contribution of the OSI model is that it makes the clear distinction between its three central concepts that are services, interfaces, and protocols.
Each layer performs some services for the layer above it. The service definition tells what the layer does, not how entities above it access it or how the layer works.
A layer's interface tells the processes above it how to access it including the specification of the parameters and the expected results. But it, too, says nothing about how the layer works inside.
The peer protocols used in a layer are its own business. It can use any protocol as long as it provides the offered services.
These ideas fit with modern ideas about object-oriented programming where a layer can be understood to be an object with a set of operations that processes outside the object can invoke.
The TCP/IP model did not originally clearly distinguish between service, interface, and protocol. As a consequence, the protocol in the OSI model are better hidden than in the TCP/IP model and can be replaced relatively easily as the technology changes.
The OSI reference model was devised before the protocols were invented. The positive aspect of this was that the model was made quite general, not biased toward one particular set of protocols. The negative aspect was that the designers did not have much experience with the subject and did not have a good idea of which functionality to put into which layer (e.g. some new sublayers had to be hacked into the model).
With the TCP/IP the reverse was true: the protocols came first, and the model was just a description of the existing protocols. As a consequence, the model was not useful for describing other non-TCP/IP networks.
An obvious difference between the two models is the number of
layers. Another difference is in the area of connectionless versus
connection-oriented communication. The OSI model supports both types of
communication in the network layer, but only connection-oriented
communication in the transport layer. The TCP/IP model has only
connectionless mode in the network layer but supports both modes in
the transport layer. The connectionless choice is especially important
for simple request-response protocols.
1.4.17. A Critique of the OSI Model and Protocols
At the end of 80s, it appeared that the OSI model were going to take over the world. This did not happen. The main reasons can be summarized as:
The time at which a standard is established is absolutely critical to its success (a theory of the apocalypse of the two elephants). The standard for a new subject has to be written between the two "elephants": the burst of research activities on the new subject and the burst of investments to the new subject. If it is written too early, before the research is finished, the subject may still be poorly understood, which leads to bad standard. If it is written too late, companies have already made investment and the standard is ignored. If the interval between the two elephants is very short, the people developing the standard may get crushed.
It appears that the standard OSI got crushed because of the use of
TCP/IP protocols by research universities by the time OSI protocols
appeared. At that time many vendors had already begun offering TCP/IP
products and did not want to support a second protocol stack until they
were forced to, so there were no initial offerings. With every company
waiting for every other company to go first, no company went first and
OSI never happened.
1.4.19. Bad Technology
The OSI model and the protocols are imperfect. Some layers are of little use or almost empty (the session, or the presentation layer), some are so full that subsequent work has split them into multiple sublayers, each with different functions (the data link, or the network layers). The real reason for 7 layers probably was that IBM had at the time when the OSI model was designed its proprietary seven-layered protocol called SNA (System Network Architecture).
The OSI model is extraordinarily complex. It is difficult to implement and inefficient in operation.
Perhaps the most serious criticism is that the model is dominated
by a communications mentality.
1.4.20. Bad Implementation
Given the enormous complexity of the model and protocols, the initial implementations were huge, unwieldy, and slow. While the products got better in the course of time, the image stuck.
In contrast, the implementations of TCP/IP were good. People began
to use them quickly which led to a large user community, which led
to improvements, which led to an even large community and the spiral
was upward.
1.4.21. Bad Politics
Many people, especially in academia, thought of TCP/IP as a part of UNIX, and UNIX in 1980s in academia was very popular.
OSI, on the other hand, was thought to be the creature of bureaucrats trying to shove a technically inferior standard down the throats of the poor researchers and programmers. It did not OSI help much.
But there are still a few organizations interested in OSI. Consequently,
an effort has been made to update it, resulting in a (little) revised model
published in 1994.
1.4.22. A Critique of the TCP/IP Reference model
The TCP/IP model and protocols have their problems to. The main of them are:
In summary, despite its problems, the OSI model (minus the session and presentation layers) has proven to be exceptionally useful for discussing computer networks. In contrast, the OSI protocols have not become popular. The reverse is true of TCP/IP: the model is practically nonexistent, but the protocols are widely used.